<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
    <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
    <ContractTypesPartiallyMoved>true</ContractTypesPartiallyMoved>
    <!-- ArrayBufferWriter is publicly exposed from the System.Memory ref and only it should define this constant as true.  -->
    <DefineConstants>$(DefineConstants);MAKE_ABW_PUBLIC</DefineConstants>
    <UseCompilerGeneratedDocXmlFile>false</UseCompilerGeneratedDocXmlFile>
  </PropertyGroup>

  <ItemGroup>
    <!-- System.Buffers.SequenceReader`1 is not correctly parsed by CsharpAnalyser so we are skipping this type from autogenerated typeforwards file.  -->
    <GenFacadesIgnoreMissingType Include="System.Buffers.SequenceReader`1" />
  </ItemGroup>

  <ItemGroup>
    <Compile Include="System\SequencePosition.cs" />
    <Compile Include="System\ThrowHelper.cs" />
    <Compile Include="System\Buffers\ArrayMemoryPool.cs" />
    <Compile Include="System\Buffers\ArrayMemoryPool.ArrayMemoryPoolBuffer.cs" />
    <Compile Include="System\Buffers\BuffersExtensions.cs" />
    <Compile Include="System\Buffers\IBufferWriter.cs" />
    <Compile Include="System\Buffers\MemoryPool.cs" />
    <Compile Include="System\Buffers\ReadOnlySequence.cs" />
    <Compile Include="System\Buffers\ReadOnlySequenceDebugView.cs" />
    <Compile Include="System\Buffers\ReadOnlySequenceSegment.cs" />
    <Compile Include="System\Buffers\ReadOnlySequence.Helpers.cs" />
    <Compile Include="System\Buffers\SequenceReader.cs" />
    <Compile Include="System\Buffers\SequenceReader.Search.cs" />
    <Compile Include="System\Buffers\SequenceReaderExtensions.Binary.cs" />
    <Compile Include="System\Runtime\InteropServices\SequenceMarshal.cs" />
    <Compile Include="System\Text\EncodingExtensions.cs" />
  </ItemGroup>

  <ItemGroup>
    <!-- Common or Common-branched source files -->
    <Compile Include="$(CommonPath)System\Buffers\ArrayBufferWriter.cs"
             Link="Common\System\Buffers\ArrayBufferWriter.cs" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="$(CoreLibProject)" />
  </ItemGroup>

</Project>
